package hankz.spring.beans.factory;

import hankz.spring.beans.BeansException;

/**
 * 代表了 Bean 对象的工厂，可以存放 Bean 定义到 Map 中以及获取
 *
 * @auther zzc
 * @date 2021 11 15
 */
public interface BeanFactory {

    Object getBean(String name) throws BeansException;

    //传递入参给构造函数实例化
    Object getBean(String name, Object... args) throws BeansException;

    <T> T getBean(String name, Class<T> requiredType) throws BeansException;

}
